package com.service;

import java.util.List;
import java.util.Map;

/**
 * 通用服务接口
 *
 * 该接口定义了一些通用的服务方法，用于提供常见的数据查询、统计等功能。实现类需根据业务需求提供具体的实现。
 *
 * @author team10
 */
public interface CommonService {

	/**
	 * 获取选项列表
	 *
	 * @param params 查询参数
	 * @return 返回选项列表
	 */
	List<String> getOption(Map<String, Object> params);

	/**
	 * 根据选项获取跟随数据
	 *
	 * @param params 查询参数
	 * @return 返回跟随数据的Map
	 */
	Map<String, Object> getFollowByOption(Map<String, Object> params);

	/**
	 * 执行某种操作（具体操作未明确定义）
	 *
	 * @param params 操作所需的参数
	 */
	void sh(Map<String, Object> params);

	/**
	 * 获取提醒数量
	 *
	 * @param params 查询参数
	 * @return 返回提醒数量
	 */
	int remindCount(Map<String, Object> params);

	/**
	 * 获取日历信息
	 *
	 * @param params 查询参数
	 * @return 返回日历相关的Map数据
	 */
	Map<String, Object> selectCal(Map<String, Object> params);

	/**
	 * 获取分组数据
	 *
	 * @param params 查询参数
	 * @return 返回分组数据列表
	 */
	List<Map<String, Object>> selectGroup(Map<String, Object> params);

	/**
	 * 获取数值数据
	 *
	 * @param params 查询参数
	 * @return 返回数值数据列表
	 */
	List<Map<String, Object>> selectValue(Map<String, Object> params);

	/**
	 * 获取时间统计数值
	 *
	 * @param params 查询参数
	 * @return 返回时间统计数值列表
	 */
	List<Map<String, Object>> selectTimeStatValue(Map<String, Object> params);
}
